- if Feature.enabled?(:webauthn_without_totp)
  #js-device-registration{ data: device_registration_data(current_password_required: current_password_required?, target_path: target_path, webauthn_error: @webauthn_error) }
- else
  #js-register-token-2fa

  -# haml-lint:disable InlineJavaScript
  %script#js-register-2fa-message{ type: "text/template" }
    %p <%= message %>

  -# haml-lint:disable InlineJavaScript
  %script#js-register-token-2fa-setup{ type: "text/template" }
    - if current_user.two_factor_otp_enabled?
      .row.gl-mb-3
        .col-md-5
          = render Pajamas::ButtonComponent.new(variant: :confirm,
            button_options: { id: 'js-setup-token-2fa-device' }) do
            = _("Set up new device")
        .col-md-7
          %p= _("Your device needs to be set up. Plug it in (if needed) and click the button on the left.")
    - else
      .row.gl-mb-3
        .col-md-4
          = render Pajamas::ButtonComponent.new(variant: :confirm,
            disabled: true,
            button_options: { id: 'js-setup-token-2fa-device' }) do
            = _("Set up new device")
        .col-md-8
          %p= _("You need to register a two-factor authentication app before you can set up a device.")

  -# haml-lint:disable InlineJavaScript
  %script#js-register-token-2fa-error{ type: "text/template" }
    %div
      %p
        %span <%= error_message %> (<%= error_name %>)
      = render Pajamas::ButtonComponent.new(button_options: { id: 'js-token-2fa-try-again' }) do
        = _("Try again?")

  -# haml-lint:disable InlineJavaScript
  %script#js-register-token-2fa-registered{ type: "text/template" }
    .row.gl-mb-3
      .col-md-12
        %p= _("Your device was successfully set up! Give it a name and register it with the GitLab server.")
        = form_tag(target_path, method: :post) do
          .row.gl-mb-3
            .col-md-3
              = text_field_tag 'device_registration[name]', nil, class: 'form-control', placeholder: _("Pick a name")
            .col-md-3
              = hidden_field_tag 'device_registration[device_response]', nil, class: 'form-control', required: true, id: "js-device-response"
              = render Pajamas::ButtonComponent.new(type: :submit, variant: :confirm) do
                = _("Register device")
